package cn.exrick.xboot.modules.base.enums;

import cn.exrick.xboot.common.annotation.ExpEnumType;
import cn.exrick.xboot.common.constant.SysExpEnumConstant;
import cn.exrick.xboot.common.exception.abs.AbstractBaseExceptionEnum;
import cn.exrick.xboot.factory.ExpEnumCodeFactory;

/**
 * Created with IntelliJ IDEA.
 *
 * @Auther: njp
 * @Date: 2020/11/04/16:36
 * @Description:
 */
@ExpEnumType(module = SysExpEnumConstant.PORTAL_SYS_MODULE_EXP_CODE,kind = SysExpEnumConstant.ORG_APP_EXCEPTION_ENUM)
public enum OrganizationExceptionEnum implements AbstractBaseExceptionEnum {
    /**
     * 组织不存在
     */
    ORG_NOT_EXIST(1, "组织不存在"),
    /**
     * 父id不能为空
     */
    ORG_PARENT_NOT_NULL(2, "父id不能为空"),
    /**
     * 父id不能为空
     */
    ORG_PARENT_IS_NO(3, "父id不存在"),
    /**
     * id不能为空
     */
    ORG_ID_IS_NOTNULL(4, "ID不能为空/数据不存在"),
    /**
     * 该节点下存在子节点
     */
    ORG_DEL_IS_NOTNULL(5, "该节点下存在子节点"),
    /**
     * 岗位标题为空
     */
    POSITION_TITLE_IS_NOTNULL(6, "岗位标题为空"),
    /**
     * 岗位组织不能为空
     */
    POSITION_ORGID_IS_NOTNULL(7, "岗位组织不能为空"),
    /**
     * 兼职种类不能为空
     */
    USERH_TYPE_IS_NOTNULL(8, "兼职类型不能为空"),
    /**
     * 兼职用户id不能为空
     */
    USERH_USERID_IS_NOTNULL(9, "兼职用户id不能为空"),
    /**
     * 兼职数据为空
     */
    USERH_H_IS_NOTNULL(9, "兼职数据不能为空"),
    ;

    private final Integer code;

    private final String message;

    OrganizationExceptionEnum(Integer code, String message) {
        this.code = code;
        this.message = message;
    }

    @Override
    public Integer getCode() {
        return ExpEnumCodeFactory.getExpEnumCode(this.getClass(), code);
    }

    @Override
    public String getMessage() {
        return message;
    }
}
